Repository navigation
ci/per job cache suffix and pages enablement - #5
Merged
Merged
Conversation
KraHsu
commented
May 13, 2026
Owner
- Add bilingual MkDocs documentation site with GitHub Pages deploy
- Give CI jobs per-job cache suffixes and self-enable Pages in docs
4 tasks done
KraHsu
added a commit
that referenced
this pull request
May 15, 2026
…nablement ci/per job cache suffix and pages enablement
This was referenced May 16, 2026
KraHsu
added a commit
that referenced
this pull request
Jun 5, 2026
…nablement ci/per job cache suffix and pages enablement
KraHsu
added a commit
that referenced
this pull request
Jun 5, 2026
… (ROADMAP §9 PR R3.2 / ADR-0005)
Move the play-mode shortcut-retargeting key list off the private
`cli/__init__.py:_PLAY_RETARGETED_KEYS` constant onto
`SimulationCfg.play_retargeted_keys()` (static method on the domain
config). The CLI's `env.` → `play_env.` retarget loop in play mode
now calls the method; the set of play-retargetable simulation override
paths lives next to the SimulationCfg fields the --vis / --gpu /
--steps / --dt shortcuts target.
Returns the four paths verbatim (`env.simulation.{vis,gpu,steps,dt}`)
so the CLI use-site is unchanged except for the constant → method swap
— the lowest-risk faithful replacement per ADR-0005's framing. All
four are real SimulationCfg fields (test_configs.py asserts this).
Completes ADR-0005 / R3 (R3.1 EvalCallbackCfg.from_args shipped in
PR #90; this is R3.2).
New `tests/test_configs.py` (3 tests): exact ordered set, every key
names a real SimulationCfg field, and class/instance call equivalence.
Reference audit (per CLAUDE.md §9.1 rule 1): `_PLAY_RETARGETED_KEYS`
had a single use site (the play-mode retarget loop); removed.
`SimulationCfg` added to the existing module-top
`from genelab.configs import …` line in cli/__init__.py (cli → configs
is the allowed layering direction).
Verified: ruff ✓, pyright 0/0/0, full suite 395 passed (was 392; +3
from test_configs.py), `genelab play --help` snapshots byte-identical
(R0.1 gate), configs.py stays torch-free at import (invariant #5),
lint-imports baseline unchanged at 2 kept / 2 broken.
cli/__init__.py LoC: 1051 (refactor start) → 1020 after R3.1 + R3.2
(−31). ADR-0005 §10 estimated ≥35; the actual parse logic was a touch
smaller. Both parsers (eval-callback args, play-retarget keys) are now
domain-owned, which was the substantive goal.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
KraHsu
added a commit
that referenced
this pull request
Jun 5, 2026
Adds eight optional SimulationCfg fields mapping to gs.options.RigidOptions:
- contact: enable_self_collision, enable_joint_limit, max_collision_pairs
- solver: solver_iterations (→iterations), ls_iterations, solver_tolerance
(→tolerance), integrator
- constraint stiffness/damping: constraint_timeconst
All default None ("use Genesis default"). SimulationCfg.rigid_options_kwargs()
maps the set fields to RigidOptions parameter names (genesis-free — keeps
configs.py free of the gs import per invariant #5; integrator stays a string).
InteractiveScene resolves the integrator string → gs.integrator.<name> and passes
rigid_options to gs.Scene ONLY when at least one field is set — so an untouched
config keeps the historic gs.Scene call byte-for-byte (zero regression).
CCD is not exposed (Genesis RigidOptions has no continuous-collision-detection
knob; verified against the installed genesis options surface).
Tests: tests/test_configs.py +3 (empty-by-default, full mapping to Genesis names,
None-skip-but-keep-False). The mapping is unit-tested without a Genesis runtime;
the scene wiring is exercised by the existing genesis_runtime-gated scene tests.
Gates: ruff ✓, ruff format ✓, pyright 0/0/0, lint-imports 6 kept / 0 broken,
optional-dep boundary still green (configs torch/genesis-free), full suite 439 passed (+3).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.